var hos_map_list;
$(function(){
	//设置地图高度
//	console.log(document.documentElement.clientWidth);
//	console.log(window.innerHeight-document.documentElement.clientWidth/750*100);
	$("#allmap").css("height",window.innerHeight-document.documentElement.clientWidth/750*100);
	
	var data = {};
	$.post(url+"/getHostitalLL",data,function(data){
		hos_map_list = data.data;
	});
});

/**
 * 地图
 */
	//创建Map实例
	var map = new BMap.Map("allmap");
	
	//定位
	//1,浏览器定位
	function browser_position(){
//		alert("浏览器定位");
		var geolocation = new BMap.Geolocation();
		//获取当前位置
		geolocation.getCurrentPosition(function(r){
			if(this.getStatus() == BMAP_STATUS_SUCCESS){
				console.log('您的位置：'+r.point.lng+','+r.point.lat);
				//重新定位
				map.centerAndZoom(r.point,15);
				//创建标注
				createMark();
				//地图常用功能
				map_fun();
			}else{
				alert('定位失败'+this.getStatus());
			}
			//允许使用高精度
		},{enableHighAccuracy: true})
	}
//	browser_position();
		
	//创建标注
	function createMark(){
		console.log("添加标注");
		for(var i=0;i<hos_map_list.length;i++){
			//添加标注
			var point = new BMap.Point(hos_map_list[i].longitude,hos_map_list[i].latitude);
			//自定义图标
			var myIcon = new BMap.Icon("img/hos_map/cover.png", new BMap.Size(20,32));
			var marker = new BMap.Marker(point,{icon:myIcon});
			//添加标注
			map.addOverlay(marker);
			//设置覆盖物的文字标签
			var label = new BMap.Label(hos_map_list[i].hosName,{offset:new BMap.Size(18,-16)});
			marker.setLabel(label);
			//为多个标注绑定事件
			var id = hos_map_list[i].id;
			addClickHandler(id,marker);
			
		}
	}
	//为多个标注添加事件
	function addClickHandler(id,marker){
		marker.addEventListener("click",function(){
			//显示医院信息
			for(var i=0;i<hos_map_list.length;i++){
				if(id==hos_map_list[i].id){
					console.log(hos_map_list[i].hospitalPhoto);
					var htm=
					"<div class='hos_pic'>"+
						"<img src="+hos_map_list[i].hospitalPhoto+" />"+
					"</div>"+
					"<div class='hos_detail2'>"+
						"<p class='hos_name'>"+hos_map_list[i].hosName+"</p>"+
						"<p class='evaluate'><img src='img/star.png'/><img src='img/star.png'/><img src='img/star.png'/></p>"+
						"<p class='address'>"+hos_map_list[i].address+"</p>"+
						"<p class='feature'>"+
							"<img src='img/call.png' /><span>"+hos_map_list[i].phone+"</span>"+
						"</p>"+
					"</div>";
				}
				$(".hos_detail .shadow3").html(htm);
				$(".hos_detail").show();
			}
			
		});
	}
	
	//地图常用功能
	function map_fun(){
		//1.启用滚轮放大缩小
		map.enableScrollWheelZoom(true);
		//2.启用双击放大
		map.enableDoubleClickZoom();
		//3,添加缩放控件
		var top_right_navigation = new BMap.NavigationControl({anchor: BMAP_ANCHOR_BOTTOM_RIGHT, type: BMAP_NAVIGATION_CONTROL_ZOOM}); //右上角，仅包含平移和缩放按钮
	    map.addControl(top_right_navigation);  
	}
	
	
	
	//2,h5定位
	getLocation();
	function getLocation(){
		console.log(navigator.geolocation);
		if(navigator.geolocation){
			//showPosition：初始化地图信息；showError：处理请求位置错误；{enableHighAccuracy: true}：开启高精度地图
			navigator.geolocation.getCurrentPosition(showPosition,showError,{enableHighAccuracy: true});
		}else{
	  	    var str ="Geolocation is not supported by this browser.";	
	  	    console.log(str);
	  	}
	}
	//处理错误和拒绝
	function showError(error){
		switch(error.code){
			case error.PERMISSION_DENIED:
				var str ="用户拒绝对获取地理位置的请求。"; 
				console.log(str);
	            browser_position();
	            break; 
	        case error.POSITION_UNAVAILABLE: 
	            var str = "位置信息是不可用的。";
	            console.log(str);
	            browser_position();
	            break; 
	        case error.TIMEOUT: 
	            console.log("请求用户地理位置超时。"); 
	            break; 
	        case error.UNKNOWN_ERROR: 
	            console.log("未知错误。"); 
	            break; 
		}
	}
	//初始化地图信息
	function showPosition(position){
		//获取坐标经纬度
		var lat = position.coords.latitude;
		var lng = position.coords.longitude;
		//转换坐标
		tranGps(lat,lng);
		
		//创建标注
		createMark();
	}
	//Google地图数据转化为百度地图数据
	function tranGps(lat,lng){
	    setTimeout(function(){
	      var convertor = new BMap.Convertor();
	      var ggPoint = new BMap.Point(lng,lat);
	      var pointArr = [];
	      pointArr.push(ggPoint);
	      convertor.translate(pointArr, 1, 5, translateCallback);
	  	}, 1000);
	}
	 //坐标转换完之后的回调函数
    translateCallback = function (data){
      console.log(data);
      if(data.status === 0) {
        var lat = data.points[0].lat;
        var lng = data.points[0].lng;
        //重新定位
        map.centerAndZoom(new BMap.Point(lng,lat), 15);
		//创建标注
		createMark();
		//地图常用功能
		map_fun();
		
      }
    }


	


















